package com.brillilab.dao.mapper.topics;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.brillilab.domain.po.topics.Topic;
import com.brillilab.domain.vo.topics.TopicListVo;
import com.brillilab.domain.vo.topics.TopicScheduleVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TopicMapper extends BaseMapper<Topic> {

	List<TopicListVo> getIndexTopicList(@Param("labId") Long labId, @Param("labMemberIds") List<Long> labMemberIds,
			@Param("states") List<Integer> states);

	List<Topic> selectTopicList(@Param("labMemberId") Long labMemberId, @Param("states") List<Integer> states);

	Integer getTopicCountByLabMemberId(@Param("labMemberId")Long labMemberId);

	Integer getTopicCountByLabMemberIdList(@Param("labMemberIdList")List<Long> labMemberIds);

    int executorOrMemberExistInOtherTopic(@Param("ids") List<Long> membersAndExecutor,@Param("executorId") Long executorId);

	List<TopicScheduleVo> getTopicSchedule(@Param("labId") Long labId, @Param("labMemberIds") List<Long> labMemberIds);
}
